import configparser
import os

# 配置文件路径
CONFIG_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'config.ini')

# 默认配置
DEFAULT_CONFIG = {
    '配置': {
        '删除临时文件': '是',
        '关闭浏览器': '否',
        '临时目录': 'None',
        '保存目录': 'None'
    }
}

def 写入配置文件(配置项=None):
    """
    将配置写入config.ini文件
    :param 配置项: 字典格式的配置项，如{'配置': {'删除临时文件':'是'}}
    """
    config = configparser.ConfigParser()
    
    # 合并默认配置和传入配置
    最终配置 = DEFAULT_CONFIG.copy()
    if 配置项:
        for section in 配置项:
            if section not in 最终配置:
                最终配置[section] = {}
            for key, value in 配置项[section].items():
                最终配置[section][key] = value
    
    # 写入文件
    config = configparser.ConfigParser()
    for section in 最终配置:
        config[section] = 最终配置[section]
    with open(CONFIG_PATH, 'w', encoding='utf-8') as f:
        config.write(f)
    
    print(f'配置文件已保存到: {CONFIG_PATH}')
    return 最终配置

def 读取配置文件():
    """
    从config.ini读取配置
    :return: 字典格式的配置
    """
    if not os.path.exists(CONFIG_PATH):
        写入配置文件()
        return DEFAULT_CONFIG
    
    config = configparser.ConfigParser()
    config.read(CONFIG_PATH, encoding='utf-8')
    
    # 转换为字典
    配置字典 = {}
    for section in config.sections():
        配置字典[section] = {}
        for key, value in config.items(section):
            配置字典[section][key] = value
    
    return 配置字典

if __name__ == '__main__':
    # 初始化写入默认配置
    写入配置文件()
    # 测试读取
    配置字典 = 读取配置文件()
    print('当前配置:', 配置字典)
    print(配置字典['配置']['删除临时文件'])

